package org.wekit.engine.pvm;

import java.util.Map;

/**
 * 流程运行实体
 * @author HuangWeili
 *
 */
public interface PvmExecution {

	/**
	 * 事件提交信号
	 * @param signalName
	 * @param signalData
	 */
    void signal(String signalName,Object signalData);
	
    /**
     * 获取执行的节点
     * @return
     */
	PvmActivity getActivity();
	
	/**
	 * 判断是否含有参数
	 * @param variableName
	 * @return
	 */
	boolean hasVariable(String variableName);
	
	/**
	 * 设置参数
	 * @param variableName
	 * @param value
	 */
	void setVariable(String variableName,Object value);
	
	/**
	 * 获取参数
	 * @param variableName
	 * @return
	 */
	Object getVariable(String variableName);
	
	/**
	 * 获取执行变量
	 * @return
	 */
	Map<String, Object> getVariables();
}
